home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac: Not for Sale / Another.not.for.sale (Australia).iso / fade into you / getting there / WWW / MacHTTP 1.3.1b16 / password.cgi (text-only) < prev    next >
Text File  |  1994-09-16  |  2KB  |  31 lines

  1. -- This script demonstrates how to invoke the authentication function in WWW clients.
  2. -- Currently, only Mac Mosaic 2.0ax supports this capability. 
  3. -- This script should be compiled and saved as an application before running
  4.  
  5. on «event WWWΩsdoc» path_args ¬
  6.     given «class kfor»:http_search_args, «class post»:post_args, «class meth»:method, «class addr»:client_address, «class user»:username, «class pass»:password
  7.     
  8.     set crlf to (ASCII character 13) & (ASCII character 10)
  9.     --this builds the normal HTTP header for regular access
  10.     set http_10_header to "HTTP/1.0 200 OK" & crlf & "Server: MacHTTP" & crlf & ¬
  11.         "MIME-Version: 1.0" & crlf & "Content-type: text/html" & crlf & crlf
  12.     
  13.     --this builds a header that informs the client that a username and password is
  14.     --required to access the document.
  15.     set auth_header to "HTTP/1.0 401 Unauthorized" & crlf & "Server: MacHTTP" & crlf & ¬
  16.         "MIME-Version: 1.0" & crlf & "WWW-Authenticate: Basic realm=\"MacHTTP\"" & crlf & crlf
  17.     
  18.     if username = password then -- a quick and dirty way to see if both are empty (most of the time)
  19.         return auth_header & "Too bad, you're not authorized unless you have a valid user ID and password"
  20.     else
  21.         
  22.         return http_10_header & "You're Authorized! You sent:  <br>path:" & path_args & ¬
  23.             "<br>search:" & http_search_args & ¬
  24.             "<br>post_args:" & post_args & ¬
  25.             "<br>method:" & method & ¬
  26.             "<br>address:" & client_address & ¬
  27.             "<br>user:" & username & ¬
  28.             "<br>password:" & password
  29.     end if
  30. end «event WWWΩsdoc»
  31.